Memory Distance Measurement for Concurrent Programs
نویسندگان
چکیده
Memory distance analysis, the number of unique memory references made between two accesses to the same memory location, is an effective method to measure data locality and predict memory behavior. Many existing methods on memory distance measurement and analysis consider sequential programs only. With the trend towards concurrent programming, it is necessary to study the impact of memory distance on the performance of concurrent programs. Unfortunately, accurate measurement of concurrent program memory distance is non-trivial. In fact, due to non-determinism, the reuse distance of memory references may differ with the same input set across multiple runs. Since memory distance measurement is fundamental to analysis, we propose a measuring approach that is based on randomized executions. Our approach provides a probabilistic guarantee of observing all possible interleavings without repeated executions. In order to evaluate our approach, we propose a second symbolic execution based approach that is more rigorous but much less scalable than the first approach. We have compared the two approaches on small programs and evaluated the first one on Parsec benchmark suite and a large industrial-size benchmark MySQL. Our experiments confirm that the randomized execution based approach is effective and practical.
منابع مشابه
Memory Performance Analysis for Parallel Programs Using Concurrent Reuse Distance
Performance on multicore processors is determined largely by on-chip cache. Computer architects have conducted numerous studies in the past that vary core count and cache capacity as well as problem size to understand impact on cache behavior. These studies are very costly due to the combinatorial design spaces they must explore. Reuse distance (RD) analysis can help architects explore multicor...
متن کاملFinite-state concurrent programs can be expressed pairwise
We present a pairwise normal form for finite-state shared memory concurrent programs: all variables are shared between exactly two processes, and the guards on transitions are conjunctions of conditions over this pairwise shared state. This representation has been used to efficiently (in polynomial time) synthesize and model-check correctness properties of concurrent programs. Our main result i...
متن کاملThe Role of Hippocampal 5HT3 Receptors in Harmaline-Induced Memory Deficit
Introduction: The plethora of studies indicated that there is a cross talk relationship between harmaline and serotonergic (5-HT) system on cognitive and non-cognitive behaviors. Thus, the purpose of this study is to assess the effects of hippocampal 5-HT4 receptor on memory acquisition deficit induced by harmaline. Methods: Harmaline was injected peritoneally, while 5-HT4 receptor ago...
متن کاملFirst Year Report
My initial project proposal was to enhance program safety by improving module interfaces. I projected this could be achieved by better abstractions and richer interface annotations. Since then, I have refined this goal by focusing on concurrent programs. During my first year I have looked at methods for reasoning about the correctness of concurrent programs, and software transactional memory, w...
متن کاملNon-Stop Monitoring and Debugging on Shared-Memory Multiprocessors
Monitoring and debugging parallel programs is a difficult activity. There are many situations where the traditional “stop the world, I want to get off” approach to debugging is simply unsuitable. Frequently, nonintrusive monitoring of the program execution is more productive in locating sources of error and also in monitoring “correct” programs for such purposes as performance measurement and t...
متن کامل